10 REM WORD WORKER 1.0 20 REM BY 30 REM JIM GARRICK 40 REM: 50 REM:*** C-64 VERSION ******* 90 SC=53281:BO=53280:X=1:PRINTCHR$(8):CX=204:CL=207 95 DIMA$(1000):DIMP$(100):POKE650,128 100 POKESC,0:POKEBO,14 110 PRINTCHR$(14):PRINT"[147][150] [205][197][206][213] [154]" 130 PRINTTAB(11)"[153][195][146][154]REATE DOCUMENT." 140 PRINT""TAB(11)"[153][208][146][154]RINT DOCUMENT." 160 PRINT""TAB(11)"[153][199][146][154]ET DOCUMENT." 165 PRINT""TAB(11)"[153][211][146][154]AVE DOCUMENT." 170 PRINT""TAB(11)"[153][204][146][154]IST DOC. ON SCREEN." 175 PRINT""TAB(11)"[153][196][146][154]ELETE DISK FILE." 177 PRINT""TAB(11)"[153][197][146][154]DIT DOCUMENT." 180 PRINT""TAB(11)"[153][210][146][154]EAD CATALOG." 190 PRINT""TAB(11)"[153][205][146][154]EMORY CLEAR." 191 PRINT""TAB(11)"[153][212][146][154]ERMINATE." 195 PRINTCHR$(17)TAB(10)"[158] [195][200][207][201][195][197] ?" 200 C$="":GETC$:GOSUB1000:IFC$=""THEN200 203 M$=LEFT$(M$,1) 205 IFC$="C"THENGOSUB500 210 IFC$="P"THENGOSUB2000 212 IFC$="G"THENGOSUB3000 215 IFC$="S"THENGOSUB4000 220 IFC$="L"THENGOSUB6000 225 IFC$="D"THENGOSUB7000 226 IFC$="E"THENGOSUB8000 227 IFC$="M"THENGOSUB5000 228 IFC$="R"THENGOSUB11000 230 IFC$="T"THENPRINT"[147][154]"CHR$(142)CHR$(9):POKESC,6:POKEBO,14:POKE650,0:END 260 GOTO100 399 REM ********* INPUT ROUTINE *********************************************** 500 MA=40:E=0:IFX>1THENA$(X)="" 510 PRINTCHR$(147)" [206][197][215][160][205][207][196][197] ":C$="" 512 IFX>1THENPRINTCHR$(19)CHR$(28)CHR$(18)"[195][207][206][212][201][206][213][193][212][201][207][206] [146]" 513 IFE=1THENPRINTCHR$(19)CHR$(158)CHR$(18)"[210][197][208][204][193][195][197][205][197][206][212] [146]" 515 PRINT"[145][198]-1 = [205]ENU [198]-2 = [206]EW PAGE " 516 PRINT"[145][198]-3 = [197]NLARGED [198]-4 = [206]ORMAL " 517 PRINT"[145][198]-5 = [213]NDERLINE ON [198]-6 = [213]NDERLINE OFF" 518 PRINT"[145][198]-7 = [201]TALICS ON [198]-8 = [201]TALICS OFF [154]" 519 PRINTA$(X);:IFE=1THENA$(X)="":PRINT 520 IF PEEK(214)>23THENPOKECX,1:POKECL,0:GOTO510 522 POKECX,0:POKECL,0:GETC$:GOSUB1000:IFC$=""THEN522 523 POKECL,2 530 IFC$=CHR$(160)THENC$=CHR$(32) 533 IFC$=CHR$(13)ANDE=1THEN700 534 IFC$=CHR$(137)THENPRINTCHR$(95);:GOTO750 535 IFC$=CHR$(134)THENPRINTCHR$(94);:GOTO750 536 IFC$=CHR$(138)THENPRINTCHR$(95);:GOTO750 537 IFC$=CHR$(135)THENPRINTCHR$(94);:GOTO750 538 IFC$=CHR$(139)THENPRINTCHR$(95);:GOTO750 539 IFC$=CHR$(136)THENPRINTCHR$(94);:GOTO750 540 IFC$=CHR$(140)THENPRINTCHR$(95);:GOTO750 575 IFC$=CHR$(133)THEN703 577 IFC$=CHR$(20)ANDLEN(A$(X))=0THEN522 579 IFC$=CHR$(13)THENA$(X)=A$(X)+C$:X=X+1:PRINTCHR$(32):GOTO520 580 PRINTC$; 600 IFC$=CHR$(20)THENA$(X)=LEFT$(A$(X),LEN(A$(X))-1):GOTO522 610 A$(X)=A$(X)+C$:C$="":IFLEN(A$(X))1THENX=X+1 705 A$(X)=CHR$(7):POKECX,1:POKECL,0:RETURN 750 A$(X)=A$(X)+C$:GOTO522 999 REM ******* CHECK GET STATEMENT ******************************************* 1000 IFC$=CHR$(145)THENC$="" 1010 IFC$=CHR$(29)THENC$="" 1020 IFC$=CHR$(157)THENC$="" 1030 IFC$=CHR$(19)THENC$="" 1040 IFC$=CHR$(147)THENC$="" 1045 IFC$=CHR$(17)THENC$="" 1050 RETURN 1999 REM ******* PRINT ROUTINE ************************************************ 2000 POKEBO,0:POKESC,9:PRINTCHR$(147):PRINTCHR$(144) 2005 PRINT:PRINT"[204][201][206][197] [204][197][206][199][212][200] [146] 60";:INPUT"[157][157][157][157]";LA 2007 PRINT:PRINT"[201][206][211][197][212][160][204][197][206][199][212][200] [146]40";:INPUT"[157][157][157][157]";LB 2009 PRINT:PRINT"[211] OR [196] [211][208][193][195][201][206][199][146] S ";:INPUT"[157][157][157][157]";SD$ 2011 PRINT:PRINT"[204][201][206][197][160][208][197][210][160][208][193][199][197] [146] 50";:INPUT"[157][157][157][157]";SK:SK=66-SK 2012 T1$="":X=1:LL=LA:T$="":T2$="":P$="" 2050 OPEN4,4,7:PRINT#4,CHR$(27)"[206]"CHR$(SK) 2051 IFA$(X)=""THEN2660 2059 T2$=A$(X) 2060 FORA=1TOLL-LEN(P$) 2061 IFT2$=""THEN2094 2065 X$=LEFT$(T2$,1):T2$=RIGHT$(T2$,LEN(T2$)-1) 2075 IFX$=CHR$(91)THENLL=LB:GOTO2060 2076 IFX$=CHR$(93)THEN2060 2080 REM * PRINTER FUNCTION CONVERSION * 2081 IFX$=CHR$(134)THENX$=CHR$(14) 2082 IFX$=CHR$(135)THENX$=CHR$(27)+CHR$(45)+CHR$(1) 2083 IFX$=CHR$(136)THENX$=CHR$(27)+CHR$(52) 2084 IFX$=CHR$(137)THENX$=CHR$(12) 2085 IFX$=CHR$(138)THENX$=CHR$(15) 2086 IFX$=CHR$(139)THENX$=CHR$(27)+CHR$(45)+CHR$(0) 2087 IFX$=CHR$(140)THENX$=CHR$(27)+CHR$(53) 2088 REM ***************************** 2089 IFX$=CHR$(13)THEN2660 2090 P$=P$+X$ 2094 IFLEN(T2$)=0THENX=X+1:GOTO2051 2095 NEXTA 2100 GOTO2610 2200 FORA=1TOLA 2210 X$=LEFT$(T2$,1):T2$=RIGHT$(T2$,LEN(T2$)-1) 2211 IFLEN(T2$)=0THENX=X+1:T2$=A$(N) 2220 IFX$=CHR$(13)THEN2300 2230 P$=P$+X$ 2240 NEXTA 2300 IN=(80-LEN(P$))/2:GOTO2670 2610 FORA=1TOLEN(P$) 2620 IFRIGHT$(P$,1)=CHR$(32)THEN2660 2630 T1$=RIGHT$(P$,1)+T1$:P$=LEFT$(P$,LEN(P$)-1) 2640 NEXTA 2660 IFLEFT$(P$,1)=CHR$(32)THENP$=RIGHT$(P$,LEN(P$)-1) 2662 PRINTP$ 2665 IN=(80-LL)/2 2670 PRINT#4,CHR$(17)SPC(IN)P$:P$="":P$=T1$:T1$="" 2680 IFSD$="D"THENPRINT#4,CHR$(10) 2700 IFX$=CHR$(13)THENLL=LA 2705 IFLEFT$(A$(X-1),1)=CHR$(7)THENPRINT#4,CHR$(12):PRINT#4:CLOSE4:RETURN 2710 GOTO2060 2999 REM ****** LOAD ROUTINE ************************************************** 3000 PRINTCHR$(147):POKE214,11:PRINT 3001 PRINT" [197]NTER DOCUMENT NAME. ":INPUTNA$ 3010 PRINT" [196]ISK OR [212]APE? (D/T)[146] ":INPUT" D[157][157][157]";T$:T$=LEFT$(T$,1) 3025 CS$="":PRINT" [207]K TO CLEAR MEMORY (Y/N)[146] ":INPUT" N[157][157][157]";CS$ 3026 CS$=LEFT$(CS$,1):IFCS$="Y"THENGOSUB5000 3027 A$(X)="" 3028 IFT$="T"THENOPEN8,1,0,NA$:GOTO3040 3031 OPEN15,8,15:OPEN8,8,8,"@0:"+NA$+",S,READ":GOSUB10000:IFEA>20THEN3480 3040 PRINT" [210]EADING FILE. " 3050 FORA=1TO35 3055 GET#8,C$ 3060 IFST<>0THEN3480 3090 IFC$=CHR$(13)THENA$(X)=A$(X)+C$:X=X+1:GOTO3050 3110 A$(X)=A$(X)+C$ 3120 NEXTA 3125 FORB=1TO45 3130 GET#8,C$ 3135 IFST<>0THEN3480 3140 IFC$=CHR$(13)THENA$(X)=A$(X)+C$:X=X+1:GOTO3050 3150 IFC$=CHR$(32)THENA$(X)=A$(X)+C$:X=X+1:GOTO3050 3155 A$(X)=A$(X)+C$ 3160 NEXTB 3170 X=X+1:GOTO3050 3480 CLOSE8:CLOSE15 3499 RETURN 3999 REM ******** SAVE ROUTINE ************************************************ 4000 PRINTCHR$(147):POKE214,11:PRINT:X=1 4001 PRINT" [197]NTER DOCUMENT NAME. ":INPUTNA$ 4005 PRINT" [196]ISK OR [212]APE? (D/T)[146] ":INPUT" D[157][157][157]";T$:T$=LEFT$(T$,1) 4006 IFT$="T"THENOPEN7,1,1,NA$:GOTO4020 4010 OPEN15,8,15:OPEN7,8,7,"@0:"+NA$+",S,WRITE":GOSUB10000:IFEA>20THEN4060 4020 PRINT " [211]AVING",NA$ 4040 IFLEFT$(A$(X),1)=CHR$(7)THENPRINT#7,A$(X):GOTO4060 4055 PRINT#7,A$(X);:X=X+1 4057 GOTO4040 4060 CLOSE7:CLOSE15 4070 RETURN 4999 REM ******** CLEAR ARRAY ************************************************* 5000 PRINT"[153] [195][204][197][193][210][201][206][199][160][205][197][205][207][210][217] ":FORX=1TO1000 5010 A$(X)="" 5020 NEXT 5023 X=1 5030 RETURN 5999 REM ******** LIST TO SCREEN ********************************************** 6000 Q=X:X=1 6005 PRINTCHR$(147) 6015 IFA$(X)=CHR$(7)ORA$(X)=""THEN 6100 6020 PRINT A$(X) 6025 IFPEEK(214)>21THEN6100 6030 X=X+1:GOTO6015 6100 PRINT" [200][201][212][160][193][206][217][160][203][197][217][160][212][207][160][195][207][206][212][201][206][213][197] " 6110 GETW$:IFW$=""THEN6110 6113 IFA$(X)=""THEN RETURN 6115 IFA$(X)=CHR$(7)THENX=Q:RETURN 6120 X=X+1:GOTO6005 6999 REM ******** SCATCH FILE ************************************************* 7000 PRINTCHR$(147):POKE214,11:PRINT 7001 OPEN 15,8,15 7003 PRINT" [197]NTER FILE TO DELETE ":INPUTNA$ 7005 PRINT#15,"S0:"+NA$ 7010 INPUT#15,A$,B$,C$,D$ 7020 PRINTA$,B$,C$,D$ 7030 CLOSE15 7040 FORT=1TO1000:NEXT:RETURN 7999 REM ******* EDIT RUOTINE ************************************************* 8000 PRINT"[147]":POKESC,9:POKEBO,0:PRINTSPC(13)"[158][197][196][201][212] [205][207][196][197]":PRINT 8005 CR$="":ER$="":Q=X:X=1 8010 PRINT"[158][208][210][197][211][211] [198]-1[146] = [210]ETURN TO MENU." 8011 PRINT" [198]-2[146] = [205]OVE A LINE." 8012 PRINT" [198]-3[146] = [210]EPLACE LINE." 8013 PRINT" [198]-5[146] = [211]EARCH BACKWARD." 8016 PRINT" [198]-7[146] = [211]EARCH FORWARD." 8020 PRINT" [198]-8[146] = [199]LOBAL CHANGE." 8026 PRINT" [195]HOICE ?" 8030 GETC$:GOSUB1000:IFC$=""THEN8030 8035 IFX<1THENX=1 8036 IFX>1000THENX=1000 8040 IFC$=CHR$(136)THENPRINTX;" [158]"A$(X):X=X+1:IFX>QTHENX=Q:PRINT"[197][206][196] [207][198] [196][193][212][193][146]" 8045 IFC$=CHR$(135)THENPRINTX;" [158]"A$(X):X=X-1 8050 IFC$=CHR$(134)THENINPUT"[197][206][212][197][210][160][204][201][206][197][160]#[146]";NU:GOTO8362 8055 IFC$=CHR$(133)THENX=Q:RETURN 8060 IFC$=CHR$(137)THEN 8100 8061 IFC$=CHR$(140)THEN 8200 8064 GOTO8030 8100 INPUT"[197][206][212][197][210] [204][201][206][197](S)[160]#[160][212][207][160][194][197][160][205][207][214][197][196][146]";M1 8102 INPUT" [219] [193][206][207][212][200][197][210][146]";M2 8103 IFLEN(A$(M1))+LEN(A$(M2))>80THENPRINT"[211][212][210][201][206][199][160][212][207][160][204][207][206][199][146]":X=1:GOTO8010 8104 IFRIGHT$(A$(M1),1)=CHR$(13)ANDM2>0THENA$(M1)=LEFT$(A$(M1),LEN(A$(M1))-1) 8110 INPUT"[197][206][212][197][210] [204][201][206][197][160]#[160][212][207][160][194][197][160][210][197][208][204][193][195][197][196][146]";M3 8120 JG$=A$(M1)+CHR$(32)+A$(M2):A$(M3)="":A$(M1)="":A$(M2)="" 8125 A$(M3)=JG$ 8150 X=1:GOTO8010 8200 PRINT"[158][197][206][212][197][210] [215][207][210][196][160][212][207][160][195][200][193][206][199][197][146]:[144]" 8210 FORA=1TO80 8220 GETC$:GOSUB1000:IFC$=""THEN8220 8225 IFC$=CHR$(13)THEN8250 8226 IFC$=CHR$(20)THENER$=LEFT$(ER$,LEN(ER$)-1):GOTO8235 8230 ER$=ER$+C$ 8235 PRINTC$; 8240 NEXTA 8250 PRINT:PRINT"[158][197][206][212][197][210] [195][207][210][210][197][195][212][201][207][206][144][146]" 8255 O=LEN(ER$) 8260 FORA=1TO80 8270 GETJ$:IFJ$=""THEN8270 8280 IFJ$=CHR$(13)THEN8310 8281 IFJ$=CHR$(20)THENCR$=LEFT$(CR$,LEN(CR$)-1):GOTO8290 8285 CR$=CR$+J$ 8290 PRINTJ$; 8300 NEXTA 8310 PRINT:PRINT"[158][211][197][193][210][195][200][201][206][199]" 8320 FORA=1TO1000 8321 FORB=1TOLEN(A$(A)) 8322 IFLEFT$(A$(A),1)=CHR$(7)THEN8348 8329 IFMID$(A$(A),B,O)=ER$THENOO=LEN(A$(A))-B+1-LEN(ER$) 8330 IFMID$(A$(A),B,O)=ER$THENWC$=RIGHT$(A$(A),OO) 8340 IFMID$(A$(A),B,O)=ER$THENPRINT"[198][207][213][206][196][146]"CHR$(144)A$(A)CHR$(158):GOTO 8344 8342 NEXTB 8343 NEXTA 8344 INPUT"[195][200][193][206][199][197] [146] Y[157][157][157]";T$ 8345 IFT$<>"Y"THENPRINT"[158][211][197][193][210][195][200][201][206][199]":GOTO8342 8346 A$(A)=LEFT$(A$(A),B-1)+CR$+WC$:PRINTA$(A):PRINT"[211][197][193][210][195][200][201][206][199][146]":GOTO8342 8348 PRINT"[147][158][211][197][193][210][195][200] [195][207][205][208][204][197][212][197] [144]":PRINT:ER$="":CR$="":X=1:GOTO8010 8362 X=NU:E=1:MA=80:POKEBO,14:POKESC,0:GOSUB510:POKEBO,0:POKESC,9 8365 X=1:PRINTCHR$(147) 8370 GOTO8010 9999 REM ******** READ ERROR CHANNEL ****************************************** 10000 INPUT#15,EA,EB$,EC,ED:IFEA<20THENRETURN 10005 IFEA=50THENRETURN 10010 PRINT""EA;""EB$"[146]",EC;ED 10020 PRINT" HIT ANY KEY TO CONTINUE." 10025 GETW$:IFW$=""THEN10025 10030 RETURN 10999 REM ****** READ CATALOG ************************************************* 11000 PRINT"[147] [210][197][193][196][201][206][199] [195][193][212][193][204][207][199] [154]":OPEN1,8,0,"$ 11005 [129]L[178]1[164]100:P$(L)[178]"":[130]:G[178]1 11190 [161]#1,B$:[139]ST[179][177]0[167]11270 11200 [139]B$[179][177][199](34)[167]11190 11210 P$[178]"" 11220 [161]#1,B$:[139]B$[179][177][199](34)[167]P$[178]P$[170]B$:[137]11220 11230 [161]#1,B$:[139]B$[178][199](32)[167]11230 11240 P$(G)[178]P$:[151]214,12:[153]:[153][199](18)[199](158)[163]18)G 11250 [161]#1,B$:[139]B$[179][177]""[167]11250 11260 [139]ST[178]0[167]G[178]G[170]1:[137]11190 11270 [160]1 11290 N[178]10 11300 [153]"LOADPRINTSYSSTR$RIGHT$(null)(null)CLOSELEN(null)(null)(null)VAL(null)(null)(null) FOR":[153] 11320 [139]N[179]10[167]N[178]10 11330 [139]N[177]100[167]N[178]100 11340 [129]J[178](N[171]9)[164]N:[139]J[178]1[167][153]""P$(J):[130]J 11343 [153]P$(J) 11345 [130]J 11350 [153][199](19)[163]18)" (null)(null)VAL(null)(null) (null)(null)VAL PEEKVAL(null)(null)(null) ":[153] 11360 [153][163]18)"PRINTASC-1CONTWAIT = (null)ETURN TO MENU." 11365 [153][163]18)"PRINTASC-3CONTWAIT = (null)OAD FILE." 11370 [153][163]18)"PRINTASC-5CONTWAIT = (null)REVIOUS PAGE." 11380 [153][163]18)"PRINTASC-7CONTWAIT = (null)EXT PAGE" 11390 [153][163]18)"PRINTASC-8CONTWAIT = STR$ELETE FILE." 11400 C$[178]"":[161]C$:[141]1000:[139]C$[178]""[167]11400 11410 [139]C$[178][199](136)[167]N[178]N[170]10:[137]11300 11420 [139]C$[178][199](135)[167]N[178]N[171]10:[137]11300 11425 [139]C$[178][199](140)[167][151]214,11:[153]:[141]7001:[137]11300 11430 [139]C$[178][199](133)[167][142] 11440 [139]C$[178][199](134)[167][137]11500 11450 [137]11400 11500 [151]214,11:[153]:[153]"PRINT VALNTER FILE NAME CONT":[133]NA$ 11530 [141]3025 11550 [142]